{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "3b06fdea",
   "metadata": {},
   "source": [
    "# Improve machine learning predictions with Neo4j Graph Data Science library\n",
    "## Utilize graph algorithms in Neo4j to extract graph-based features to improve the accuracy of machine learning models\n",
    "\n",
    "A wave of graph-based approaches to data science and machine learning is rising. We live in an era where the exponential growth of graph technology is predicted. The ability to analyze data points through the context of their relationships enables more profound and accurate data exploration and predictions. To help you catch the rising wave of graph machine learning, I have prepared a simple demonstration where I show how using graph-based features can increase the accuracy of a machine learning model.\n",
    "We will be using an anonymized dataset from a P2P payment platform throughout this blog post.\n",
    "\n",
    "The users are in the center of the graph. Throughout their stay on the P2P platform, they could have used multiple credit cards and various devices from multiple IPs. The main feature of the P2P payment platform is that users can send money to other users. Every transaction between users is represented as the P2P relationship, where the date and the amount is described. There could be multiple transactions between a single pair of users going in both directions.\n",
    "\n",
    "Some of the users are labeled as fraud risks. Therefore, we can use the fraud risk label to train a supervised classification model to perform fraud detection. In this blog post, we will first use non-graphy features to train the classification model and then, in the second part, try to improve the model's accuracy by including some graph-based features like the PageRank centrality.\n",
    "\n",
    "### Prepare the Neo4j environment\n",
    "\n",
    "We will be using Neo4j as the source of truth to train the ML model. Therefore, I suggest you download and install the [Neo4j Desktop application](https://neo4j.com/download/) if you want to follow along with the code examples.\n",
    "The dataset is available as a database dump. It is a variation of the database dump available on Neo4j's [product example GitHub to showcase fraud detection](https://github.com/neo4j-product-examples/demo-fraud-detection-with-p2p). I have added the fraud risk labels as described in the [second part of the Exploring fraud detection series](https://neo4j.com/developer-blog/exploring-fraud-detection-neo4j-graph-data-science-part-2/), so you don't have to deal with it. You can download the updated database dump by clicking on [this link](https://drive.google.com/file/d/1apR3xwWEOdi_WKmIAGk1bPqhHQSgxwT-/view?usp=sharing).\n",
    "I've written a [post about restoring a database dump in Neo4j Desktop](https://tbgraph.wordpress.com/2020/11/11/dump-and-load-a-database-in-neo4j-desktop/) sometime ago if you need some help. After you have restored the database dump, you will also need to install the Graph Data Science and APOC libraries. Make sure you are using version 2.0.0 of the GDS or later.\n",
    "\n",
    "### Neo4j Graph Data Science Python client\n",
    "Neo4j team released an official Python client for the Graph Data Science library alongside the recent upgrade of the library to version 2.0. Since this is the first time I will be using the Python client for GDS in my blog, I will dedicate a bit more time to it and explain how it works.\n",
    "First, you need to install the library. You can simply run the following command to install the latest deployed version of the GDS Python client.\n",
    "```\n",
    "pip install graphdatascience\n",
    "```\n",
    "Once you have installed the library, you need to input the Neo4j's credentials to define a connection to the database."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "1213d20e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.3.0\n"
     ]
    }
   ],
   "source": [
    "from graphdatascience import GraphDataScience\n",
    "\n",
    "host = \"bolt://localhost:7687\"\n",
    "user = \"neo4j\"\n",
    "password= \"pleaseletmein\"\n",
    "\n",
    "gds = GraphDataScience(host, auth=(user, password))\n",
    "\n",
    "print(gds.version())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dc373e75",
   "metadata": {},
   "source": [
    "In the example I've seen, the first thing one usually does is to execute the print(gds.version()) line to verify that the connection is valid and the target database has the Graph Data Science library installed.\n",
    "### Exploring the dataset\n",
    "We will begin with simple data exploration. First, we will count the number of transactions by year from the database using the run_cypher method. The run_cypher method allows you to execute Cypher statements to retrieve data from the database and return a Pandas dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "3cd61840",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='year', ylabel='countOfTransactions'>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['figure.figsize'] = [10, 6]\n",
    "import seaborn as sns\n",
    "\n",
    "time = gds.run_cypher(\"\"\"\n",
    "MATCH p=()-[r:P2P]->()\n",
    "RETURN r.transactionDateTime.year AS year, count(*) AS countOfTransactions\n",
    "ORDER BY year\n",
    "\"\"\")\n",
    "\n",
    "sns.barplot(x=\"year\", y=\"countOfTransactions\", data=time)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08c46c58",
   "metadata": {},
   "source": [
    "There were more than 50 thousand transactions in 2017, with a slight drop to slightly less than 40 transactions in 2018. I would venture a guess that we don't have all the transactions from 2019 as there are only 10 thousand transactions available in the dataset.\n",
    "\n",
    "Our baseline classification model will contain only non-graph-based features. Therefore, we will begin by exploring various features like the number of devices, credit cards, and total and average incoming and outgoing amounts per user. We will stay clear of using the graph algorithm available in the Neo4j Graph Data Science library for now."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "5381aec2",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = gds.run_cypher(\"\"\"\n",
    "MATCH (u:User)\n",
    "CALL { \n",
    "  WITH u \n",
    "  MATCH (u)-[out:P2P]->() \n",
    "  RETURN sum(out.totalAmount) as totalOutgoingAmount, max(out.totalAmount) as maxOutgoingAmount, \n",
    "           avg(out.totalAmount) as avgOutgoingAmount, count(out) as outgoingTransactions\n",
    "}\n",
    "CALL { \n",
    "  WITH u \n",
    "  MATCH (u)<-[in:P2P]-() \n",
    "  RETURN sum(in.totalAmount) as totalIncomingAmount, max(in.totalAmount) as maxIncomingAmount, \n",
    "           avg(in.totalAmount) as avgIncomingAmount, count(in) as incomingTransactions\n",
    "}\n",
    "     \n",
    "RETURN u.guid AS user_id,\n",
    "       u.fraudRisk AS fraudRisk,\n",
    "       count{ (u)-[:USED]->() } AS numberOfDevices,\n",
    "       count{ (u)-[:HAS_CC]->() } AS numberOfCCs,\n",
    "       count{ (u)-[:HAS_IP]->() } AS numberOfIps,\n",
    "       coalesce(totalOutgoingAmount, 0) AS totalOutgoingAmount, \n",
    "       coalesce(avgOutgoingAmount, 0) AS avgOutgoingAmount,\n",
    "       coalesce(maxOutgoingAmount, 0) AS maxOutgoingAmount,\n",
    "       outgoingTransactions,\n",
    "       coalesce(totalIncomingAmount, 0) AS totalIncomingAmount,\n",
    "       coalesce(avgIncomingAmount, 0) AS avgIncomingAmount,\n",
    "       coalesce(maxIncomingAmount, 0) AS maxIncomingAmount,\n",
    "       incomingTransactions\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3ca0b417",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>fraudRisk</th>\n",
       "      <th>numberOfDevices</th>\n",
       "      <th>numberOfCCs</th>\n",
       "      <th>numberOfIps</th>\n",
       "      <th>totalOutgoingAmount</th>\n",
       "      <th>avgOutgoingAmount</th>\n",
       "      <th>maxOutgoingAmount</th>\n",
       "      <th>outgoingTransactions</th>\n",
       "      <th>totalIncomingAmount</th>\n",
       "      <th>avgIncomingAmount</th>\n",
       "      <th>maxIncomingAmount</th>\n",
       "      <th>incomingTransactions</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6f5ff01e3c3d9213b330c1a36e4e0d56</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>73</td>\n",
       "      <td>2272.0</td>\n",
       "      <td>98.782609</td>\n",
       "      <td>300.0</td>\n",
       "      <td>23</td>\n",
       "      <td>1000.00</td>\n",
       "      <td>83.333333</td>\n",
       "      <td>170.00</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>42489b0de3619b7558c170791fda29c3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>8</td>\n",
       "      <td>88</td>\n",
       "      <td>100.0</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>100.0</td>\n",
       "      <td>1</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>100.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>227146a1ca295356b58e812e00490df5</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>13</td>\n",
       "      <td>171</td>\n",
       "      <td>206.0</td>\n",
       "      <td>206.000000</td>\n",
       "      <td>206.0</td>\n",
       "      <td>1</td>\n",
       "      <td>206.00</td>\n",
       "      <td>206.000000</td>\n",
       "      <td>206.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>665c3c081e8993803548d971b4e1814b</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>6</td>\n",
       "      <td>122.0</td>\n",
       "      <td>122.000000</td>\n",
       "      <td>122.0</td>\n",
       "      <td>1</td>\n",
       "      <td>167.22</td>\n",
       "      <td>83.610000</td>\n",
       "      <td>117.22</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>fda32eea75f7aab6b81f0654dd2120d0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>39</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>210.00</td>\n",
       "      <td>105.000000</td>\n",
       "      <td>200.00</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            user_id  fraudRisk  numberOfDevices  numberOfCCs  \\\n",
       "0  6f5ff01e3c3d9213b330c1a36e4e0d56          0                1            5   \n",
       "1  42489b0de3619b7558c170791fda29c3          0                1            8   \n",
       "2  227146a1ca295356b58e812e00490df5          0                1           13   \n",
       "3  665c3c081e8993803548d971b4e1814b          0                1            2   \n",
       "4  fda32eea75f7aab6b81f0654dd2120d0          0                1            7   \n",
       "\n",
       "   numberOfIps  totalOutgoingAmount  avgOutgoingAmount  maxOutgoingAmount  \\\n",
       "0           73               2272.0          98.782609              300.0   \n",
       "1           88                100.0         100.000000              100.0   \n",
       "2          171                206.0         206.000000              206.0   \n",
       "3            6                122.0         122.000000              122.0   \n",
       "4           39                  0.0           0.000000                0.0   \n",
       "\n",
       "   outgoingTransactions  totalIncomingAmount  avgIncomingAmount  \\\n",
       "0                    23              1000.00          83.333333   \n",
       "1                     1               100.00         100.000000   \n",
       "2                     1               206.00         206.000000   \n",
       "3                     1               167.22          83.610000   \n",
       "4                     0               210.00         105.000000   \n",
       "\n",
       "   maxIncomingAmount  incomingTransactions  \n",
       "0             170.00                    12  \n",
       "1             100.00                     1  \n",
       "2             206.00                     1  \n",
       "3             117.22                     2  \n",
       "4             200.00                     2  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "563a2b4b",
   "metadata": {},
   "source": [
    "We have counted the number of relationships a user has along with some basic statistics around the incoming and outgoing amounts. First, we will evaluate how many users are labeled as fraud risks. Remember, since the run_cypher method returns a Pandas Dataframe, you can utilize all the typical Pandas Dataframe methods."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "66632cba",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fraudRisk</th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>33521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>211</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   fraudRisk      0\n",
       "0          0  33521\n",
       "1          1    211"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby('fraudRisk').size().reset_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f41975e",
   "metadata": {},
   "source": [
    "As is typical with the fraud detection scenario, the dataset is heavily imbalanced. One could say that we are searching for a needle in a haystack. Next, we will use the Pandas `describe` method to evaluate value distributions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "74048cdd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fraudRisk</th>\n",
       "      <th>numberOfDevices</th>\n",
       "      <th>numberOfCCs</th>\n",
       "      <th>numberOfIps</th>\n",
       "      <th>totalOutgoingAmount</th>\n",
       "      <th>avgOutgoingAmount</th>\n",
       "      <th>maxOutgoingAmount</th>\n",
       "      <th>outgoingTransactions</th>\n",
       "      <th>totalIncomingAmount</th>\n",
       "      <th>avgIncomingAmount</th>\n",
       "      <th>maxIncomingAmount</th>\n",
       "      <th>incomingTransactions</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>3.373200e+04</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "      <td>33732.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.006255</td>\n",
       "      <td>1.631270</td>\n",
       "      <td>3.796573</td>\n",
       "      <td>44.140549</td>\n",
       "      <td>1.076764e+03</td>\n",
       "      <td>125.803403</td>\n",
       "      <td>216.387065</td>\n",
       "      <td>3.048500</td>\n",
       "      <td>1076.764243</td>\n",
       "      <td>140.392911</td>\n",
       "      <td>233.734348</td>\n",
       "      <td>3.048500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.078843</td>\n",
       "      <td>1.663217</td>\n",
       "      <td>4.549674</td>\n",
       "      <td>60.580664</td>\n",
       "      <td>1.155846e+04</td>\n",
       "      <td>393.291299</td>\n",
       "      <td>673.616348</td>\n",
       "      <td>15.062772</td>\n",
       "      <td>10055.629996</td>\n",
       "      <td>401.208172</td>\n",
       "      <td>683.305918</td>\n",
       "      <td>11.584737</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>5.000000e+00</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>55.000000</td>\n",
       "      <td>1.540000e+02</td>\n",
       "      <td>97.500000</td>\n",
       "      <td>120.712500</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>184.000000</td>\n",
       "      <td>103.850000</td>\n",
       "      <td>149.000000</td>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>65.000000</td>\n",
       "      <td>418.000000</td>\n",
       "      <td>849.000000</td>\n",
       "      <td>1.065990e+06</td>\n",
       "      <td>6250.000000</td>\n",
       "      <td>6750.000000</td>\n",
       "      <td>1073.000000</td>\n",
       "      <td>498911.090000</td>\n",
       "      <td>6250.000000</td>\n",
       "      <td>6750.000000</td>\n",
       "      <td>564.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          fraudRisk  numberOfDevices   numberOfCCs   numberOfIps  \\\n",
       "count  33732.000000     33732.000000  33732.000000  33732.000000   \n",
       "mean       0.006255         1.631270      3.796573     44.140549   \n",
       "std        0.078843         1.663217      4.549674     60.580664   \n",
       "min        0.000000         0.000000      0.000000      0.000000   \n",
       "25%        0.000000         1.000000      1.000000      8.000000   \n",
       "50%        0.000000         1.000000      3.000000     22.000000   \n",
       "75%        0.000000         2.000000      5.000000     55.000000   \n",
       "max        1.000000        65.000000    418.000000    849.000000   \n",
       "\n",
       "       totalOutgoingAmount  avgOutgoingAmount  maxOutgoingAmount  \\\n",
       "count         3.373200e+04       33732.000000       33732.000000   \n",
       "mean          1.076764e+03         125.803403         216.387065   \n",
       "std           1.155846e+04         393.291299         673.616348   \n",
       "min           0.000000e+00           0.000000           0.000000   \n",
       "25%           0.000000e+00           0.000000           0.000000   \n",
       "50%           5.000000e+00           5.000000           5.000000   \n",
       "75%           1.540000e+02          97.500000         120.712500   \n",
       "max           1.065990e+06        6250.000000        6750.000000   \n",
       "\n",
       "       outgoingTransactions  totalIncomingAmount  avgIncomingAmount  \\\n",
       "count          33732.000000         33732.000000       33732.000000   \n",
       "mean               3.048500          1076.764243         140.392911   \n",
       "std               15.062772         10055.629996         401.208172   \n",
       "min                0.000000             0.000000           0.000000   \n",
       "25%                0.000000             5.000000           5.000000   \n",
       "50%                1.000000            15.000000          10.000000   \n",
       "75%                2.000000           184.000000         103.850000   \n",
       "max             1073.000000        498911.090000        6250.000000   \n",
       "\n",
       "       maxIncomingAmount  incomingTransactions  \n",
       "count       33732.000000          33732.000000  \n",
       "mean          233.734348              3.048500  \n",
       "std           683.305918             11.584737  \n",
       "min             0.000000              0.000000  \n",
       "25%             5.000000              1.000000  \n",
       "50%            10.000000              1.000000  \n",
       "75%           149.000000              2.000000  \n",
       "max          6750.000000            564.000000  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4863e124",
   "metadata": {},
   "source": [
    "Users have, on average used 1.6 devices on the platform, with one outlier having used 65 devices. What's a bit surprising is that the average number of credit cards used is almost 4. While I think that perhaps the high average of credit cards could be attributed to credit cards expiring, and therefore a user needs to add more than one credit card. However, it's still a higher average than I would expect. Both the total incoming and outgoing average amounts are around 1000, so we are not dealing with many high-value transactions. In addition, the median outgoing payment is only 5, while the incoming median amount is 15. Of course, there are some outliers as always, as one user has send a bit more than a million through the platform.\n",
    "\n",
    "Before we move on to training the classification model, we will also evaluate the correlation between features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "cb367423",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(16, 6))\n",
    "\n",
    "corr = df.corr()\n",
    "sns.heatmap(corr, \n",
    "            xticklabels=corr.columns.values,\n",
    "            yticklabels=corr.columns.values,\n",
    "            cmap=\"Blues\",\n",
    "            annot=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6bae57a9",
   "metadata": {},
   "source": [
    "It seems that none of the features correlate with the fraud risk label. As one would imagine, the number of transactions correlates with the total amount sent or received. The only other thing that I find interesting is that the number of credit cards correlates with the number of IPs.\n",
    "# Training a baseline classification model\n",
    "Now it's time to train a baseline classification model based on the non-graph-based features we pulled from the database. As part of the fraud detection use case, we will try to predict the fraud risk label. Since the dataset is heavily imbalanced, we will use an oversampling technique SMOTE on the training data. We will use Random Forest Classifier to keep things simple as the scope of this post is not to select the best ML model and/or their hyper-parameters.\n",
    "\n",
    "I've prepared a function that will help us evaluate the model by visualizing the confusion matrix and the ROC curve."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d3abee73",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "from imblearn.over_sampling import SMOTE\n",
    "from sklearn.preprocessing import LabelBinarizer\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import ConfusionMatrixDisplay, RocCurveDisplay\n",
    "\n",
    "from sklearn.ensemble import RandomForestClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "2b049b2f",
   "metadata": {},
   "outputs": [],
   "source": [
    "def feature_importance(columns, classifier):        \n",
    "    features = list(zip(columns, classifier.feature_importances_))\n",
    "    sorted_features = sorted(features, key = lambda x: x[1]*-1)\n",
    "    \n",
    "    keys = [value[0] for value in sorted_features]\n",
    "    values = [value[1] for value in sorted_features]\n",
    "    return pd.DataFrame(data={'feature': keys, 'value': values})\n",
    "\n",
    "def evaluate(df):\n",
    "    df_X = df.drop('fraudRisk', axis=1)\n",
    "    df_y = df[['fraudRisk']]\n",
    "\n",
    "    X = df_X.values\n",
    "    y = df_y.values\n",
    "\n",
    "    y = LabelBinarizer().fit_transform(y)\n",
    "    \n",
    "    # Test/train data split\n",
    "    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=42, stratify=y)\n",
    "    \n",
    "    # Oversample only the training data\n",
    "    oversample = SMOTE(random_state=42)\n",
    "    X_train, y_train = oversample.fit_resample(X_train, y_train)\n",
    "\n",
    "    # Random forrest classification\n",
    "    model = RandomForestClassifier(n_estimators=500, random_state=42, max_depth=5, bootstrap=True, class_weight='balanced')\n",
    "    model = model.fit(X_train, y_train)\n",
    "    # Evaluate the model\n",
    "    ConfusionMatrixDisplay.from_estimator(model, X_test, y_test, normalize= 'true')\n",
    "    RocCurveDisplay.from_estimator(model, X_test, y_test, name=\"RF Model\")\n",
    "    print(feature_importance(df_X.columns.to_list(), model))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "35e0fffa",
   "metadata": {},
   "source": [
    "Now that we have the data and the code ready, we can go ahead and train the baseline classification model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "19e86468",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                 feature     value\n",
      "0        numberOfDevices  0.360835\n",
      "1   incomingTransactions  0.193416\n",
      "2      maxIncomingAmount  0.106009\n",
      "3    totalIncomingAmount  0.074445\n",
      "4            numberOfCCs  0.072848\n",
      "5      avgIncomingAmount  0.068528\n",
      "6      maxOutgoingAmount  0.025771\n",
      "7      avgOutgoingAmount  0.025304\n",
      "8    totalOutgoingAmount  0.025192\n",
      "9            numberOfIps  0.024789\n",
      "10  outgoingTransactions  0.022863\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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ddZZfOxjH2s1wy9/+UsuvPDCtct33nkne+yxB6eccgqTJk3isMMOq/hz3HHHHfTo0YOPf/zja9e1RTH5v//7v5x//vkAnHTSSZx99tlk5gbnbf3+979n9OjR7LDDDsC6381BBx3EDTfcsHb53e9+N5MnT+Zzn/vcZues5XDk9sCzzZbnltett01mNgKLgKEtDxQRZ0bEtIiYNn/+/BrFLenREAzs3Z3Ddhnm3ZGSpJpavXo1v//97zn++OPXrnvyySfXDpGdddZZG9z3pJNO4vrrr+e+++5j3Lhx9OrVa+22D3zgA1x00UXMnDmTvfbaiy9/+csAfPjDH+bSSy/loYceWudYV111FYMGDWLq1KlMnTqVK664gqeffnqD53766afZYost1jnnpEmTmDhxIhMmTOC3v/0tq1atqvjzz5o1i/33379iO4CDDz54neHDNb9+97vfvaHtvHnzGDFiBADdu3dn0KBBLFiwYIPHnjx5MhMnTlzvtquvvppjjjlm7fL48eO55557qspcSad4TlhmXg5cDjB+/Pia9pLtv8MQfnL6gbU8hSSpg9iYHqu2tGzZMvbdd1/mzZvHbrvtxpFHHrl225rhyEpOPvlkTjnlFB577DEmTpzIfffdB8CiRYtYuHAhhx56KAAf/OAH+ed//mcWLlzIwoULOeSQQwA47bTTuOWWWwD4v//7P2bOnLm2x2fRokX87W9/Y+zYses99/PPP8+wYf/oqFi5ciU333wzF198MQMGDODAAw/ktttu47jjjttg79PG3k3YVoVPSytXrmTKlClrhxyb++pXv0r37t15//vfv3bdVlttxXPPPdcm565lT9g8YESz5eHldettExHdgUHAhktVSZK6gDVzwv7+97+TmevMCavWNttsQ48ePbj99ts54ogjNitPZnLppZeunSP19NNPrzMk11KfPn3WeSbWbbfdxsKFC9lrr70YNWoU9957L5MmTQJg6NChvPrqq+vsv3jxYgYPHswee+zB9OnTq8q4MT1h22+/Pc8+WxqMa2xsZNGiRQwd+oaBNgBuueUWxo0bx9Zbb73O+muuuYabbrqJ6667bp2Ccfny5fTp06eqzJXUsgibCoyJiB0joifwXmBKizZTgA+WP58E/KHI+WCSJLWnvn37cskll/Cd73yHxsbGjd7/ggsu4KKLLqKhoWHtukGDBrHF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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "final_df = df[['fraudRisk', 'numberOfDevices', 'numberOfCCs', 'numberOfIps', \n",
    "               'totalOutgoingAmount','maxOutgoingAmount', 'avgOutgoingAmount',\n",
    "               'totalIncomingAmount', 'maxIncomingAmount', 'avgIncomingAmount',\n",
    "               'outgoingTransactions','incomingTransactions']]\n",
    "\n",
    "evaluate(final_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2affe07e",
   "metadata": {},
   "source": [
    "The baseline model features performed reasonably. As a result, it correctly assigned a fraud risk label to 50% of the actual fraud risks while misclassifying the other half. Around 13% are non-frauds are wrongly classified as frauds. Remember that is quite a considerable number since the heavy data imbalance.\n",
    "\n",
    "The AUC score of the baseline model is 0.72. The higher the AUC score, the better the model can distinguish between positive and negative labels. Lastly, we will look at the feature importance of the model.\n",
    "Interestingly, the most important feature is the number of devices. Not really what one would expect. I would instead think that number of credit cards would have a higher impact. The following three important features are all tied to the count and the amount of the incoming transactions.\n",
    "### Using graph-based features to increase the accuracy of the model\n",
    "In the second part of the post, we will use graph-based features to increase the performance of the classification model. Lately, graph neural networks and various node embedding models are gaining popularity. However, we will keep it simple in this post and not use any of the more complex graph algorithms. Instead, we will use more classical centrality and community detection algorithms to produce features that will increase the accuracy of the classification model.\n",
    "\n",
    "We have a couple of networks in our dataset. First, there is a direct P2P transaction network between users that we can use to extract features that describe users. On the other hand, there are also indirect connections between users, where some users use the same device, IP, or credit card.\n",
    "\n",
    "In our example, we will use the P2P transaction network between users and indirect connections between users who share credit cards as the input to graph algorithms to extract predictive features.\n",
    "Before executing any graph algorithms, we have to project the GDS in-memory graph. We will be using the newly released Graph Data Science Python client to project an in-memory graph. The Python client mimics the GDS Cypher procedure and follows an almost identical syntax. It seems to me the only difference is that we don't prefix the Cypher procedures with the `CALL` operator as we would when, for example, executing graph algorithms in Neo4j Browser.\n",
    "\n",
    "We can use the following command to project User and Card nodes along with the HAS_CC and P2P relationships."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "dc970138",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ef751e6905144d54a17f4adebc534a68",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Loading:   0%|          | 0/100 [00:00<?, ?%/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "G, res = gds.graph.project('fraud', ['User', 'Card'], \n",
    "    {'HAS_CC':{\n",
    "       'type':'HAS_CC'\n",
    "    },\n",
    "    'P2P':{\n",
    "       'type':'P2P',\n",
    "       'properties':{\n",
    "          'totalAmount':{\n",
    "             'aggregation':'SUM'\n",
    "          }\n",
    "       }\n",
    "    }})"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72d332f9",
   "metadata": {},
   "source": [
    "For those of you that have experience with GDS or read my previous blog post, the projection definition is, for the most part, straightforward. The only thing I haven't used in a while is that I have merged parallel P2P relationships into a single relationship during projection and summed their total amount. We merge parallel relationships and sum a specific property of the relationships using the following syntax:\n",
    "\n",
    "```\n",
    "'P2P':{       \n",
    "    'type':'P2P',\n",
    "    'properties':{      \n",
    "        'totalAmount':{\n",
    "             'aggregation':'SUM'          \n",
    "         }       \n",
    "     }    \n",
    "}\n",
    "```\n",
    "\n",
    "With the projected in-memory graph ready, we can go ahead and execute intended graph algorithms.\n",
    "### Weakly connected components\n",
    "We will begin by using the Weakly Connected components (WCC) algorithm. The WCC algorithm is used to find disconnected components or islands within the network.\n",
    "\n",
    "All nodes in a single weakly connected component can reach other nodes in the component when we disregard the direction of the relationship. In our example, we will use the WCC algorithm to find components or islands of users who used the same credit card.\n",
    "\n",
    "We will use the `stream` mode of the WCC algorithm using the GDS Python client, which will return a Pandas Dataframe. Any additional configuration parameters can be added as keyword arguments."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "d55901cc",
   "metadata": {},
   "outputs": [],
   "source": [
    "# User - Card WCC\n",
    "graph_features = gds.wcc.stream(G, nodeLabels=['User', 'Card'], relationshipTypes=['HAS_CC'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2bcff945",
   "metadata": {},
   "source": [
    "We have used the _nodeLabels_ parameter to specify which nodes the algorithm should consider as well as the _relationshipTypes_ parameter to define relationship types. Using the _relationshipTypes_ parameter, we have defined the algorithm to consider the *HAS_CC* relationships and ignore the *P2P* relationships.\n",
    "As mentioned, the above statement returns a Pandas Dataframe that contains the internal node ids and the component ids."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "88b655c2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>nodeId</th>\n",
       "      <th>componentId</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>765184</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>765185</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>765186</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>765187</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>765188</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   nodeId  componentId\n",
       "0  765184            0\n",
       "1  765185            1\n",
       "2  765186            2\n",
       "3  765187            3\n",
       "4  765188            4"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graph_features.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8dc0fa2",
   "metadata": {},
   "source": [
    "The output of the WCC algorithm will contain both the User and the Card nodes. Since we are only interested in User nodes, we must first retrieve the node labels using the `gds.util.asNodes` method and then filter on the node label."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "e97c1869",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Retrieve node objects from the database\n",
    "graph_features['node_object'] = gds.util.asNodes(graph_features['nodeId'].to_list())\n",
    "# Filter only user nodes\n",
    "graph_features = graph_features[[list(x.labels)[0] == 'User' for x in graph_features['node_object']]]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d8f1a91",
   "metadata": {},
   "source": [
    "Lastly, we will define two features based on the WCC algorithm results. The *componentSize* feature will contain a value of the users in the component, while the *part_of_community* feature will indicate if the component has more than one member."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "340f4bf1",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get component sizes\n",
    "graph_features = graph_features.merge(\n",
    "    graph_features.groupby('componentId').size().to_frame('componentSize').reset_index(), on=\"componentId\")\n",
    "# Define a feature which indicates if the component has more than 1 member\n",
    "graph_features['part_of_community'] = (graph_features['componentSize'] > 1).astype(int)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "00beeb09",
   "metadata": {},
   "source": [
    "# PageRank centrality\n",
    "Next, we will use the PageRank centrality of the P2P transaction network as one of our features. PageRank algorithm is commonly used to find the most important or influential nodes in the network. The algorithm considers every relationship as a vote of confidence or importance, and then the nodes deemed the most important by other important nodes rank the highest. Unlike the degree centrality, which only considers the number of incoming relationships, the PageRank algorithm also considers the importance of nodes pointing to it. A simple example is that being a friend with the president of the country or a company gives you more influence than being friends with an intern. Unless that intern happens to be a family relative to the CEO.\n",
    "\n",
    "You can execute the `stream` mode of the weighted variant of the PageRank algorithm using the following Python code."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "9983c200",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Pagerank centrality\n",
    "pr = gds.pageRank.stream(G, nodeLabels=['User'], \n",
    "    relationshipTypes=['P2P'], relationshipWeightProperty='totalAmount')\n",
    "pr['pagerank'] = pr['score']\n",
    "graph_features = graph_features.merge(pr[['nodeId', 'pagerank']], on='nodeId')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb07bd6f",
   "metadata": {},
   "source": [
    "This code first executes the stream mode of the PageRank algorithm, which returns the results in the form of the Pandas Dataframe. Using the *nodeLabels* parameter, we specify that the algorithm should only consider User nodes. Additionally, we use the relationshipTypes parameter to use only the *P2P* relationships as input. Lastly, we merge the new pagerank score column to the graph_features dataframe.\n",
    "# Closeness centrality\n",
    "The last feature we will use is the Closeness centrality. The Closeness centrality algorithm evaluates how close a node is to all the other nodes in the network. Essentially, the algorithm results inform us which nodes can reach all the other nodes in the network the fastest.\n",
    "\n",
    "The syntax to execute the Closeness centrality and merge the results to the graph_features data frame is almost identical as the PageRank example."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "9d41c3aa",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Closeness centrality\n",
    "bc = gds.beta.closeness.stream(G, nodeLabels=['User'], relationshipTypes=['P2P'])\n",
    "bc['closeness'] = bc['score']\n",
    "graph_features = graph_features.merge(bc[['nodeId', 'closeness']], on='nodeId')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9adff2f",
   "metadata": {},
   "source": [
    "### Combine baseline and graph features\n",
    "Before we can train the new classification model, we have to combine the original dataframe that contains the baseline features with the graph_feature dataframe that includes the graph-based features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "3a86c2e3",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get user ids\n",
    "graph_features['user_id'] = [el.get('guid') for el in graph_features['node_object']]\n",
    "# Merge to original df\n",
    "df = df.merge(graph_features[['user_id', 'componentSize', 'part_of_community', 'pagerank', 'closeness']], on='user_id')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "98a69b95",
   "metadata": {},
   "source": [
    "The original dataframe does not contain the internal node ids, so we must first extract the user ids from the node object column. Next, we can use the user id column to merge the baseline and the graph-based feature dataframes.\n",
    "### Include the graph-based features in the classification model\n",
    "Now we can go ahead and include both the baseline as well as the graph-based features to train the fraud detection classification model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "0b914683",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                 feature     value\n",
      "0          componentSize  0.371820\n",
      "1      part_of_community  0.301243\n",
      "2        numberOfDevices  0.105482\n",
      "3   incomingTransactions  0.060731\n",
      "4    totalIncomingAmount  0.028057\n",
      "5      maxIncomingAmount  0.027178\n",
      "6              closeness  0.026716\n",
      "7      avgIncomingAmount  0.022201\n",
      "8            numberOfCCs  0.013917\n",
      "9               pagerank  0.010389\n",
      "10           numberOfIps  0.009248\n",
      "11  outgoingTransactions  0.005958\n",
      "12     avgOutgoingAmount  0.005938\n",
      "13     maxOutgoingAmount  0.005899\n",
      "14   totalOutgoingAmount  0.005224\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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sDomjhnGcROdKkmSJK1bFmGSJEkVsAiTJEmqgEWYJElSBSzCJEmSKmARthoOTyFJkhrJImw1HJ5CkiQ1kkVYDxyeQpIkNYpFmCRJUgUswiRJkipgESZJklQBizBJkqQKWIR1w+EpJElSo1mEdcPhKSRJUqNZhK2Gw1NIkqRGsgiTJEmqgEWYJElSBSzCJEmSKmARJkmSVAGLMEmSpApYhEmSJFXAIkySJKkCFmGSJEkVsAiTJEmqgEWYJElSBSzCJEmSKmARJkmSVAGLMEmSpApYhEmSJFXAIkySJKkCFmGSJEkVsAiTJEmqgEWYJElSBSzCJEmSKmARJkmSVAGLMEmSpApYhEmSJFXAIkySJKkCFmGSJEkVsAiTJEmqwHpVB+hvps5czMyFTzBxzLCqo0iSGuDFF19kyZIlPPfcc1VHURMZMmQIW2+9NYMHDy59jEVYFzfOWQrApAkjK04iSWqEJUuWsPHGGzN69Ggiouo4agKZyYoVK1iyZAljxowpfZyPI7sxccwwjps4quoYkqQGeO6559h8880twLTORASbb755r1tXLcIkSS3HAkzr2pr8M2URJkmSVIGGFmERcXBEPBgRCyLi7G62vzYirim2z4yI0Y3MI0lSfzBo0CAmTJjA+PHjOfzww3nqqacAWLRoERtssAETJkzo+HnhhRdWOfa2224jIrjssss61s2ZM4eI4Ktf/WrpDIsWLWL8+PFrvM+yZcs47LDDVll35plnMnLkSF555ZWOdeecc86rco0ePZo///nPAPzxj3/kmGOOYdttt+XNb34zhx56KA899FDp36M7zz//PJMnT2a77bZj4sSJLFq0qNv9vva1rzF+/Hh23HFH/vM//7Nj/VlnncWb3vQmdt55Z4488siO+3PffffxgQ98YK2yddawIiwiBgEXA4cA44BjI2Jcl91OAp7MzO2A/wDOa1QeSZL6iw022IA5c+Ywb948hg0bxsUXX9yxbdttt2XOnDkdP+uvv/6rjh8/fjzf+973OpanTZvGLrvs0ifZ211wwQV86EMf6lh+5ZVXuOGGG9hmm224/fbbS50jMznyyCPZb7/9ePjhh5k9ezZf/OIX+dOf/rRW2S6//HI222wzFixYwEc/+lE++clPvmqfefPmcemll/LrX/+ae++9l5tuuokFCxYA8I53vIN58+Yxd+5ctt9+e774xS8CsNNOO7FkyRIWL168VvnaNfLtyN2BBZn5CEBEXA1MAuZ32mcScE7x+TrgvyIiMjMbmEuSJAA+98P7mf/Y0+v0nOO2GspnD9+x9P577rknc+fO7dU13vCGN/D000/zpz/9iS233JKbb76ZQw89tGP7nDlzOO2003j22WfZdtttmTJlCpttthmzZ8/mxBNPBOCggw7q2P/ll1/m7LPP5rbbbuP555/n9NNP59RTT+0xw/e//30+//nPdyzfdttt7LjjjkyePJlp06ax//771/09br31VgYPHsxpp53WsW5dFJM33ngj55xzDgBHHXUUZ5xxBpm5Sr+tBx54gIkTJ7LhhhsCsO+++3L99dfziU98YpXvZo899uC6667rWD788MO5+uqr+cQnPrHWORv5OHIk8Gin5SXFum73ycyXgJXA5l1PFBGnRMSsiJi1fPnyBsWtGbfVUMZtNbSh15AkCWrFz89//nOOOOKIjnUPP/xwx6PI008/fbXHHnXUUVx77bXcfffd7Lbbbrz2ta/t2Pa+972P8847j7lz57LTTjvxuc99DoAPfvCDXHTRRdx7772rnOvyyy9nk0024Z577uGee+7h0ksvZeHChau99sKFC9lss81Wuea0adM49thjOfLII/nRj37Eiy++WPf3nzdvHm9+85vr7gew9957r/KYtv3nZz/72av2Xbp0Kdtssw0A6623HptssgkrVqxYZZ/x48dz5513smLFCp599llmzJjBo48++qpzTZkyhUMOOaRjua2tjTvvvLNU5noGxDhhmXkJcAlAW1tbQ1vJevN/L5Kkga2q/+b/9a9/ZcKECSxdupQddtiBd7zjHR3b2h9H1nP00UczefJkfve733Hsscdy9913A7By5Uqeeuop9t13XwDe//738/d///c89dRTPPXUU+yzzz4AnHDCCfz4xz8G4Cc/+Qlz587taPFZuXIlv//979l+++27vfayZcsYPnx4x/ILL7zAjBkzuOCCC9h4442ZOHEit9xyC4cddthq3xrs7duE66rwabfDDjvwyU9+koMOOoiNNtqICRMmMGjQoFX2+cIXvsB6663He9/73o51W265JY899tg6ydDIlrClwDadlrcu1nW7T0SsB2wCrECSpCbW3ifsD3/4A5m5Sp+wsl7/+tczePBgfvrTn3LggQeuVZ7M5KKLLuroh7Zw4cJVHsl1tcEGG6wyJtYtt9zCU089xU477cTo0aO56667mDZtGgCbb745Tz755CrHP/PMM2y66absuOOOzJ49u1TG3rSEjRw5sqNV66WXXmLlypVsvvmrHrRx0kknMXv2bO644w4222yzVYrOK664gptuuomrrrpqlYLxueeeY4MNNiiVuZ5GFmH3AGMjYkxErA8cA0zvss904P3F56OA/7E/mCSpVWy44YZceOGFnH/++bz00ku9Pv7cc8/lvPPOW6UFZ5NNNmGzzTbraDn67ne/y7777summ27Kpptuyl133QXAVVdd1XHMO9/5Tr7xjW90PEJ86KGH+Mtf/rLa626//farvHE4bdo0LrvsMhYtWsSiRYtYuHAhP/3pT3n22WfZZ599mD59Os888wwA119/PbvssguDBg3igAMO4Pnnn+eSSy7pONfcuXO7bfW68847V3lhof3n7W9/+6v2PeKII7jyyisBuO666zjggAO6bXl7/PHHAVi8eDHXX389xx13HAA333wzX/7yl5k+fXpHn7F2Dz30UN23Sstq2OPIzHwpIs4AbgEGAVMy8/6IOBeYlZnTgcuB70bEAuAJaoWaJEktY9ddd2XnnXdm2rRp7L333r06dq+99up2/ZVXXtnRMf+Nb3wj3/72twH49re/zYknnkhErNLSdfLJJ7No0SJ22203MpPhw4fzgx/8YLXX3Wijjdh2221ZsGABW221FTfffDPf/OY3V9n+tre9jR/+8IdMnjyZM844g7e97W1EBFtuuWXH8BoRwQ033MCZZ57Jeeedx5AhQxg9evQqw0WsiZNOOokTTjiB7bbbjmHDhnH11VcD8Nhjj3HyySczY8YMAN7znvewYsUKBg8ezMUXX8ymm24KwBlnnMHzzz/f8Zh4jz326Pj9br31Vt71rnetVb52MdAantra2nLWrFlVx5AkDVAPPPAAO+ywQ9UxBrwbbriB2bNnr/KGZLN7/vnn2XfffbnrrrtYb71Xt2N1989WRMzOzLbuzjcgOuZLkqT+5cgjj3zVG4fNbvHixXzpS1/qtgBbExZhkiRpjZx88slVR+hTY8eOZezYsevsfM4dKUlqOQOtK476vzX5Z8oiTJLUUoYMGcKKFSssxLTOZCYrVqxgyJAhvTrOx5GSpJay9dZbs2TJEho9A4tay5AhQ9h66617dYxFmCSppQwe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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "final_df = df[['fraudRisk','numberOfDevices', 'numberOfCCs', 'numberOfIps', \n",
    "               'totalOutgoingAmount','maxOutgoingAmount', 'avgOutgoingAmount',\n",
    "               'totalIncomingAmount', 'maxIncomingAmount', 'avgIncomingAmount',\n",
    "               'outgoingTransactions','incomingTransactions', 'componentSize', 'part_of_community', \n",
    "               'pagerank', 'closeness']]\n",
    "\n",
    "evaluate(final_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9952c0a3",
   "metadata": {},
   "source": [
    "We can observe that the model correctly classified 79% of fraudsters instead of 50% with the baseline model. However, it also misclassifies fewer non-frauds as frauds. We can observe that the graph-based features helped improve the classification model accuracy. We can also observe that the AUC score has risen from 0.72 to 0.92, which is a considerable increase. Finally, let's evaluate the importance of the graph-based features. While the number of credit cards used by a user might be significant to classify the fraudsters accurately, a far more predictive feature in this dataset is if multiple users and how many used those credit cards. The PageRank and Closeness centrality also added a slight increase in the accuracy, although they are less predictive in this example than the weakly component size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "ccd028fd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "graphName                                                            fraud\n",
       "database                                                             neo4j\n",
       "memoryUsage                                                               \n",
       "sizeInBytes                                                             -1\n",
       "nodeCount                                                           152550\n",
       "relationshipCount                                                   171201\n",
       "configuration            {'relationshipProjection': {'HAS_CC': {'orient...\n",
       "density                                                           0.000007\n",
       "creationTime                           2023-02-01T13:10:50.719251667+01:00\n",
       "modificationTime                       2023-02-01T13:10:51.453140320+01:00\n",
       "schema                   {'graphProperties': {}, 'relationships': {'HAS...\n",
       "schemaWithOrientation    {'graphProperties': {}, 'relationships': {'HAS...\n",
       "Name: 0, dtype: object"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Drop the projected graph\n",
    "G.drop()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8979ba4d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
